package com.speedchina.framework.helper;


import com.speedchina.framework.exception.AssertException;
import org.apache.commons.lang3.StringUtils;

import java.io.Serializable;

/**
 * 断言处理
 *
 * @author hank
 * @create 2019-01-15 下午3:59
 **/

public class Assert {

    /**
     * 参数为空  断言处理
     * @param val
     * @param msg
     */
    public static void isEmpty(String val, String msg){
        if(StringUtils.isEmpty(val)){
            throw new AssertException(msg);
        }
    }

    /**
     * 参数为null时 断言处理
     * @param val
     * @param msg
     */
    public static void isNull(Object val, String msg){
        if(val == null){
            throw new AssertException(msg);
        }
    }

    /**
     * 参数为真时  断言处理
     * @param flag
     * @param msg
     */
    public static void isTrue(boolean flag, String msg){
        if(flag){
            throw new AssertException(msg);
        }
    }

    /**
     * 参数为真,抛出错误
     * @param flag
     * @param code 自定义code
     * @param msg
     */
    public static void isTrue(boolean flag, Serializable code, String msg){
        if (flag) {
            throw new AssertException(code, msg);
        }
    }

}
